package com.service;

import com.baomidou.mybatisplus.service.IService;
import com.entity.MeishiCollectionEntity;
import com.entity.MeishiEntity;
import com.entity.MeishiRatingEntity;
import com.entity.NewsEntity;
import com.entity.view.MeishiView;
import com.model.enums.ItemType;
import java.util.List;
import java.util.Map;
import java.util.Set;

public interface RecommendationService extends IService<MeishiCollectionEntity> {
    /**
     * 获取基于用户的推荐
     * @param userId 用户ID
     * @param limit 推荐数量
     * @return 推荐列表
     */
    List<String> getUserBasedRecommendations(String userId, int limit) ;

    List<MeishiEntity> getHotMeishiByCollection();
    List<MeishiView> getHotMeishiByCollectionViews(int page, int limit);

    /**
     * 获取用户相似度矩阵
     */
    Map<String, Map<String, Double>> getUserSimilarityMatrix(ItemType itemType);

    List<MeishiView> getUserBasedRecommendationViews(String userId, int page, int limit);

    List<MeishiEntity> getHotMeishiByZan();
    
    /**
     * 获取AI增强的个性化推荐
     * @param userId 用户ID
     * @param limit 推荐数量
     * @return 包含AI建议的推荐结果
     */
    Map<String, Object> getAIEnhancedRecommendations(String userId, int limit);

    List<MeishiView> getListViews(String userId, int page, int limit);
}